package com.alm.handle.service;

import com.alm.common.core.domain.AjaxResult;
import com.alm.handle.core.domain.entity.AlmDevGroup;
import com.alm.handle.core.domain.entity.rq.DevGroupEditRq;
import com.alm.handle.core.domain.entity.rq.DevGroupListRq;
import com.alm.handle.core.domain.entity.rq.DevGroupAddRq;
import com.alm.handle.core.domain.entity.vo.DevGroupDetailVO;
import com.alm.handle.core.domain.entity.vo.DevGroupDictVO;
import com.alm.handle.core.domain.entity.vo.DevInfoListVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 设备分组信息表 服务类
 * </p>
 *
 * @author ywy
 * @since 2024-06-12
 */
public interface AlmDevGroupService extends IService<AlmDevGroup> {

    /**
     * 分组列表
     * @param rq
     * @return
     */
    AjaxResult getDevGroupList(DevGroupListRq rq);

    /**
     * 新增分组
     * @param rq
     * @return
     */
    int addDevGroup(DevGroupAddRq rq);

    /**
     * 更新分组
     * @param rq
     * @return
     */
    int editDevGroup(DevGroupEditRq rq);

    /**
     * 分组信息详情
     * @param devGroupId
     * @return
     */
    DevGroupDetailVO detail(Integer devGroupId);

    /**
     * 删除分组信息
     * @param devGroupId
     * @return
     */
    int del(Integer devGroupId);

    /**
     * 获取设备分组下拉框
     * @return
     */
    List<DevGroupDictVO> getDict();

    /**
     * 获取分组下的设备信息
     * @param devGroupId
     * @return
     */
    List<DevInfoListVO> getDevInfoByGroupId(Integer devGroupId);
}
